In most states, provinces and countries (collectively referred to herein as "states"), vehicles carry a license plate bearing an alphanumeric identification code which is commonly referred to as a license plate number and is also referred to herein as a license plate character set. Since each vehicle is uniquely identified by this number, it is widely used by law enforcement agencies and private concerns to identify vehicles and the license plate numbers are often stored in large data bases so that the identify associated with a particular number can be rapidly obtained. With the growing use of license plate numbers, a need has developed for a method or means for automatically reading a license plate. As used herein, the concept of reading a license plate is used in a broad sense and includes locating, recognizing and identifying the license plate. Preferably, the reading of a license plate would include converting the license plate number and state name into a digital form for being input into a computer.
An automatic license plate reader is useful for monitoring vehicles that are crossing international borders, or, for example, it is convenient to have an automated license plate reader to monitor vehicles entering and leaving a parking lot. Such a license plate reader should be able to read the license plate number and state name and supply them to a computer as meaningful data. In this manner, the necessity of having a human interface to read the license plate is eliminated, and large numbers of license plate numbers and state names may be quickly and easily entered into a computer.
The present invention is a license plate reader in which a license plate number is read, preferably converted into a digital form, and fed to a computer for further processing. In reading a license plate, there are a set of problems peculiar to the environment of the license plate that makes it difficult to read. For example, a license plate may be difficult to read because a frame touches or partially obscures part of the license plate number or state logo, and the type style of the characters on the license plate may vary according to the state of the license plate. (As used herein, the term "state" will refer to any entity that issues license plates). Thus, a license plate reader such as the present invention must adjust for frames and differing type styles. Another common environmental problem of a license plate reader is a crooked license plate. Because a license plate may be crooked on the vehicle on which it is carried, the license plate reader may not assume and must determine the orientation of the characters or at least accommodate for crooked character lines. The license plate also could be obscured by dirt and license plates are made in a wide variety of colors with both dark and light backgrounds. These factors also make a license plate difficult to read. In short, there are numerous environmental problems unique to license plates which the present invention recognizes and overcomes.
In accordance with one aspect of the present invention, an apparatus for reading a license plate that is mounted on a vehicle includes an imaging system, such as a video camera system, for producing an image including the area of the license plate. A processing apparatus scans the image and a block of the image is located which meets a first criteria indicating that the block may be a license plate. The block is then compared by the processing apparatus to a second criteria and a decision is made as to whether the block is a license plate. In the preferred embodiment, the first criteria is a measure of intensity transitions that meet a predetermined frequency of occurrence criteria. Assuming a block is determined to be a license plate by the first and second criteria, a confidence check section in the preferred embodiment checks this decision by scanning predetermined locations above and below the license plate number to check for the presence of a state logo. If the logo is detected, the presence of a license plate number has been verified.
In accordance with another aspect of the present invention, an extractor finds the characters of a license plate number by first classifying the background as either light or dark and then finding the edges of the characters by looking at the gradient of the image intensities as the license plate is scanned. Along the edge of the characters, the intensity of the image will rapidly change from one level to the other. For example, in the case of a light background, a character edge will cause the intensity level to drop rapidly, and thus the gradient will identify the edge of the character. Once the edges of characters are located, the interior portions of the edges are determined using the Laplacian operator. For example, in the case of a light background, the Laplacian operator will identify that portion of the edge that is darkest. A threshold selection is then made in which a threshold level is determined based on the interior edge of the character. In the case of a light background, the threshold selected is the intensity level most frequently found along the interior portion of the edges of the characters. Then, using the interior portion of the edge or the threshold level, the contours of the characters are traced.
A validity checking section, which is part of the extractor, checks the contours to insure that they are valid. Since the approximate size of the character on a license plate is known, criteria are established for the contour length, character height, and character width. The validity checking section will compare the contour length, character height, and character width to these criteria to insure that each of these parameters is within a selected range. If a contour violates these criteria, it is flagged for additional analysis.
Another part of the extractor, a character alignment section, analyzes the characters of the license plate number to verify that the characters are aligned. In the character alignment section, a baseline and a top line of characters are first determined. Portions of characters lying outside of the baseline and top line are disregarded. Also, a correction section of the extractor analyzes the characters to compensate for the possibility of a license plate frame partially obscuring the characters and will extract the characters even though partially obscured by a frame.
Once the characters are extracted, a character recognition section recognizes the characters by a structural analysis that considers convex hulls, bays and holes in the characters and analyzes the number, position and shapes of these parameters to identify each character. After the characters are recognized, the state logo is located and read and the state is identified by a state identification section, and a verification section reanalyzes the characters utilizing knowledge of the type style used by the identified state to verify that the number has been properly and accurately read.